using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using DigiOffice.Integration.TBIXchangeAzure.Messages;
using IDB.API.DTO.Document;
namespace DigiOffice.Integration.TBIXchangeAzure.Messages
{
public partial class DocumentMessage
{
public virtual Header Header { get; set; }
public virtual eventType EventType { get; set; }
public virtual Document Document { get; set; }
public enum eventType
{
Update,
Create,
Delete,
Response,
}
}
public partial class DocumentRequestMessage
{
public virtual Header Header { get; set; }
public virtual string RootDocumentID { get; set; }
public virtual bool IncludePhysicalFile { get; set; }
}
public partial class Header
{
public virtual string MessageID { get; set; }
public virtual DateTime Timestamp { get; set; }
public virtual Party Sender { get; set; }
public virtual Party Recipient { get; set; }
public virtual Object RequestMessageID { get; set; }
public partial class Party
{
public virtual string Title { get; set; }
public virtual string Code { get; set; }
public virtual string Version { get; set; }
public virtual Environment Environment { get; set; }
}
public partial class Environment
{
public virtual string Title { get; set; }
public virtual string Code { get; set; }
}
}
public partial class ProcessDocumentRequestMessage
{
public virtual Guid InstanceId { get; set; }
public virtual DocumentRequestMessage DocumentRequest { get; set; }
}
}
namespace IDB.API.DTO.Document
{
public partial class Document
: ICustomProperties
{
public Document()
{
CustomProperties = new Dictionary<string, Object>{};
}
public virtual Guid ID { get; set; }
public virtual Guid RootDocumentID { get; set; }
public virtual Guid RegistrationprofileID { get; set; }
public virtual string Title { get; set; }
public virtual string FullTitle { get; set; }
public virtual string Number { get; set; }
public virtual string Version { get; set; }
public virtual string ExternalNumber { get; set; }
public virtual string ExternalVersion { get; set; }
public virtual string InternalNumber { get; set; }
public virtual string InternalInvoiceNumber { get; set; }
public virtual int PersonID { get; set; }
public virtual int RelationID { get; set; }
public virtual string RelationTitle { get; set; }
public virtual int ProjectID { get; set; }
public virtual string ProjectTitle { get; set; }
public virtual string Extension { get; set; }
public virtual DateTime? Date { get; set; }
public virtual int CommentsCount { get; set; }
public virtual bool HasComments { get; set; }
public virtual bool HasPreview { get; set; }
public virtual string ExtraField { get; set; }
public virtual bool IsFavorite { get; set; }
public virtual string DocumentcategoryText { get; set; }
public virtual long? FileSize { get; set; }
public virtual DateTime? FileDate { get; set; }
public virtual string Hash { get; set; }
public virtual string HashType { get; set; }
public virtual string FileUrl { get; set; }
public virtual string StandardDocumentUrl { get; set; }
public virtual bool IsCorporateIdentity { get; set; }
public virtual string UserTitle { get; set; }
public virtual bool IsFrozen { get; set; }
public virtual int InternalCompanyID { get; set; }
public virtual string DirectUrl { get; set; }
public virtual bool AllowDigitalSigningOnlyOnPrimaryVersions { get; set; }
public virtual bool IsPrimaryVersion { get; set; }
public virtual string FileExtension { get; set; }
public virtual Dictionary<string, Object> CustomProperties { get; set; }
}
}
C# ProcessDocumentRequestMessage DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /csv/reply/ProcessDocumentRequestMessage HTTP/1.1
Host: kpm_digiofficeapigateway.tbi.nl
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"InstanceId":"00000000-0000-0000-0000-000000000000","DocumentRequest":{"Header":{"MessageID":"String","Timestamp":"0001-01-01T00:00:00.0000000","Sender":{"Title":"String","Code":"String","Version":"String","Environment":{"Title":"String","Code":"String"}},"Recipient":{"Title":"String","Code":"String","Version":"String","Environment":{"Title":"String","Code":"String"}},"RequestMessageID":{}},"RootDocumentID":"String","IncludePhysicalFile":false}}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length
{"Header":{"MessageID":"String","Timestamp":"0001-01-01T00:00:00.0000000","Sender":{"Title":"String","Code":"String","Version":"String","Environment":{"Title":"String","Code":"String"}},"Recipient":{"Title":"String","Code":"String","Version":"String","Environment":{"Title":"String","Code":"String"}},"RequestMessageID":{}},"EventType":"Update","Document":{"GlobalID":"String","RootDocumentID":"String","Code":"String","Subject":"String","VersionNumber":"String","NewestVersion":false,"RelationReference":{"GlobalID":"String","Title":"String"},"DocumentTypeReference":{"GlobalID":"String","Title":"String"},"ProjectReference":{"GlobalID":"String","Title":"String"},"ConstructionBlockReference":{"GlobalID":"String","Title":"String"},"ConstructionNumberReference":{"GlobalID":"String","Title":"String"},"HousingTypeReference":{"GlobalID":"String","Title":"String"},"Floor":0,"FloorSpecified":false,"DeletedDate":"0001-01-01T00:00:00.0000000","DeletedDateSpecified":false,"File":{"Type":"String","Name":"String","Size":0,"Content":"String","ModifiedDate":"0001-01-01T00:00:00.0000000"},"CustomFields":[{"Name":"String","Value":"String"}],"CreationDate":"0001-01-01T00:00:00.0000000","CreatedBy":"String","ModifiedDate":"0001-01-01T00:00:00.0000000","ModifiedBy":"String"}}